1. Field of the Invention
Methods and apparatuses consistent with the present invention relate to improving data processing speed through the storage of the record information of an identity module.
2. Description of the Related Art
A Universal Subscriber Identity Module (USIM) or a Subscriber Identity Module (SIM) card is a kind of smart card that is inserted in terminals, such as Global System for Mobile communication (GSM) terminals, General Packet Radio Service (GPRS) terminals or Universal Mobile Telecommunications System (UMTS) terminals, and contains network information, roaming information, subscriber information such as a phone number or financial details, and security information such as user authentication information or data encryption information. This card is connected to a terminal, such as a mobile phone, thereby enabling communication. In Europe, services have changed from GSM to UMTS, and in North America, the next generation Code Division Multiple Access (CDMA) service has been introduced. The above-described USIM or SIM card allows the information required for communication to be separate from a terminal, thus enabling anyone holding the USIM card to communicate using any terminal.
A SIM card stores data as files, and allows files to be located under a directory in order to hierarchically manage information. In order to find the path of the files, an application requests a search procedure from the SIM card, so that the search procedure can be repeatedly performed depending on the depth of a directory.
Further, a SIM client (terminal) has better performance than a SIM server (SIM device). In contrast, the SIM server employs a single window mode of completing processing for a single command and transmitting a response notifying of command processing completion, and as a result the data processing scheme of the SIM server, that is, the SIM card, decreases system speed.
FIG. 1 is a diagram showing an example of the structure of a conventional User Identity Module (UIM) system. A UIM application program 10 transmits a command to a UIM task module 50 in order to read data stored in a UIM card 100, or to write data to the UIM card 100, and receives the results of the command processing. A UIM adaptation layer 80 processes the command transmitted by the UIM task module 50 in cooperation with a UIM device driver 90. Further, the UIM adaptation layer 80 transmits the results of the command processing to the UIM task module. In this case, the scheme for transmitting the results to the UIM task module is a single window mode. The single window mode is executed so that, if the UIM task module transmits a single command, the command is transmitted to the UIM device driver 90 through the UIM adaptation layer 80, and the UIM device driver 90 transmits the results of the command processing to the UIM task module. That is, the single window mode means that the UIM task module 50 cannot transmit a subsequent command to the UIM device driver 90 until a series of procedures has terminated. Therefore, when a corresponding command must be executed several times, the corresponding command is transmitted after each response has been received; this operation degrades the performance of the system. In particular, the servers 80, 90 and 100 for providing SIM related services are typically 8/16-bit class low speed devices exhibiting a significantly lower performance than clients, thus deteriorating the entire performance of the system.
FIG. 2 is a diagram showing a scheme for storing data in a conventional SIM card.
In the SIM card, data is stored in the form of a file called an Elementary File (EF), and the files have extensions such as Master File (MF), Dedicated File (DF) and Application DF (ADF). An MF is similar to a root directory, a DF denotes a sub-directory, and an ADF denotes the directory of an application program. A SIM standard defines the structure of MF, DF and ADF directories, and a user cannot change the directory structure. Data in the SIM card is stored in EF, which is an edge node, and the directory paths MF, DF and ADF do not contain information other than paths.
Therefore, in order to read or write data, all paths, MF, DF, ADF, and EF, on which the EF is located, are sequentially detected, and then data must be read from or written to a corresponding EF.
FIGS. 3A to 3C are diagrams showing examples of a file structure constituting SIM data.
A file structure is composed of a header and a body which stores data. As schemes for configuring a body, there are the three methods of FIG. 3A to 3C. First, FIG. 3A shows a transparent EF, in which data is stored in the form of a single piece of block data. The transparent EF is used to store a series of bit streams, such as the text of a Short Messaging Service (SMS) message. FIG. 3B shows a linear fixed EF, in which a series of records are sequentially stored. FIG. 3C shows a cyclic EF, which is a cyclic data structure, in which a series of records are sequentially stored and the last record points to the first record.
FIG. 4 is a flowchart of a process of reading data from a conventional UIM module. An application 10, that is, an application program, requests specific service information at operation S101. A UIM task module 50 performs a series of tasks to obtain the service information. First, the UIM task module 50 transmits a command for selecting a MF to a device driver 90 at operation S102. This is because all information is placed under the MF, as in MF/DF1/DF2/EF. As a response to the command, the device driver 90 transmits location information about the MF and information about lower directories constituting the MF at operation S103. The UIM task module 50 selects a first DF based on the received information at operation S104. Further, the device driver 90 transmits information constituting a first DF at operation S105. The UIM task module 50 selects a second DF based on the information at operation S106. The device driver 90 also transmits information constituting the second DF at operation S107. The UIM task module 50 selects a specific EF including a desired service at operation S108. The device driver 90 transmits information about data constituting the EF at operation S109. The UIM task module 50 selects a certain record to be read, and transmits information about the EF and the record at operation S101. Further, the device driver 90 transmits record information in response to the received information at operation S111. This procedure is repeatedly performed until all of the information about records to be read has been obtained.
As shown in FIG. 4, four accesses are required to detect the location of the EF so as to read a piece of data. If a task of reading a piece of data frequently occurs, commands required to detect the location may increase overhead. Further, the single window mode causes a bottleneck phenomenon.
Therefore, a method and apparatus are required for searching for and managing the location of a file regardless of the path of the file.